home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 9570 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  6.7 KB

  1. Path: newshost.lanl.gov!tanmoy
  2. From: tanmoy@qcd.lanl.gov (Tanmoy Bhattacharya)
  3. Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++
  4. Subject: Re: C/C++ knocks the crap out of Ada
  5. Date: 29 Feb 1996 21:41:12 GMT
  6. Organization: Los Alamos National Laboratory
  7. Distribution: world
  8. Message-ID: <TANMOY.96Feb29144112@qcd.lanl.gov>
  9. References: <JSA.96Feb16135027@organon.com> <4gaa6l$8mk@post.gsfc.nasa.gov>
  10.     <4gd94r$isu@mack.rt66.com> <1996Feb22.005518.13396@leeweyr.sccsi.com>
  11.     <4gvrffINNlqo@anvil.ugrad.cs.ubc.ca>
  12.     <4h4j31$1ga3@watnews1.watson.ibm.com>
  13. NNTP-Posting-Host: qcd.lanl.gov
  14. Mime-Version: 1.0
  15. Content-Type: text
  16. In-reply-to: ncohen@watson.ibm.com's message of 29 Feb 1996 16:09:05 GMT
  17.  
  18.  
  19. Oh what the heck! Once in a lifetime is not that bad: let me make just
  20. a single post in the language war debate. I will try to limit my
  21. further posts to responses to retorts that are clearly wrong. If
  22. I have an argumentative response, I shall keep silent instead:
  23. language wars are rarely useful.
  24.  
  25. In article <4h4j31$1ga3@watnews1.watson.ibm.com>
  26. ncohen@watson.ibm.com (Norman H. Cohen) writes:
  27.  
  28. <snip>
  29. NHC: When someone mentions a language "for which no two implementations are in
  30. NHC: agreement", it is C that springs to mind.  Much of the Harbison-Steele
  31. NHC: book is devoted to explaining the distinctions among K&R C, "traditional"
  32. NHC: C (which includes extensions made after 1978), and ANSI C.  They describe
  33. NHC: the Bell Labs Portable C Compiler as "a de facto standard for the
  34. NHC: traditional language." I have heard many C programmers express the
  35. NHC: opinion that portability of C programs is best insured by writing in K&R
  36. NHC: C rather than in ANSI C!  And then on top of this, we have post-ANSI
  37.  
  38. It just shows that C is much more widely used than ADA. As more people
  39. find the limitations of the language, they inist on extending it in
  40. often incompatible ways. If ADA was used by even a small fraction of
  41. the people that use C, or even on a small fraction of the machines as
  42. the regular default compiler, or if it were used even for a small
  43. fraction of the various projects that C was used for, market forces
  44. would tend to produce enhancements to it, ultimately producing as
  45. incompatible implementations as exist for C.
  46.  
  47. Furthermore, C was in common use long before it was standardized. When
  48. ANSI C came along, many vendors came along and tried to make money by
  49. selling compilers for it: whereas the K&R C version continued to be
  50. bundled along with the standard software. The reason K&R C survives is
  51. probably this. I am sure if a non-standard version of ADA were
  52. historically available for free, it would remain in popular use over
  53. standard certified version. Historically, ADA simply does not have a
  54. following, and so these considerations are meaningless in that
  55. context. 
  56.  
  57. Today, the international community is agreed on a definition of
  58. C. Free ANSI C compilers are available (e.g. gcc with the -pedantic
  59. flag). Vendors are moving towards providing ANSI C as their main
  60. compiler. Specialized applications (supercomputers etc.) are also
  61. moving towards ANSI C as the base language over which to provide
  62. needed extensions. Things will change, and one should think of ANSI C
  63. as the only language that deserves to be called C anymore. 
  64.  
  65. And yes, there are free software writers who have stopped writing
  66. pre-ANSI code on grounds of `portability'. A fossil should be
  67. relegated to its true place, and that is happening. Historical
  68. processes take time, but they are worth it. I would rather use an ugly
  69. language that grew out of standardizing the true needs of the
  70. programming community, than one designed by fiat by any single
  71. committee: and, I am firm in my belief that most often I will be
  72. correct in my choice.
  73.  
  74. NHC: dialects such as GNU C and Microsoft C foisted upon us by those who feel
  75. NHC: they are in a position to impose their own de facto standards.  For
  76. NHC: example, in the description of the -pedantic option in section 2.3 of
  77. NHC: "Using GNU CC," Stallman writes: 
  78. NHC: 
  79. NHC:     A feature to report any failure to conform to ANSI C might be useful
  80. NHC:     in some instances, but would require considerable additional work and
  81. NHC:     would be quite different from '-pedantic'.  We recommend, rather,
  82. NHC:     that users take advantage of the extensions of GNU C and disregard
  83. NHC:     the limitations of other compilers.  Aside from certain
  84. NHC:     supercomputers and obsolete small machines, thre is less and less
  85. NHC:     reason ever to use any other C compiler other than for bootstrapping
  86. NHC:     GNU CC.
  87.  
  88. That is clear arrogance. And, hopefully, there are enough vendors who
  89. will stop this from happening.
  90.  
  91. NHC: 
  92. NHC: The culture in the Ada community is quite different.  The need to pass a
  93.  
  94. A minuscule community can have a well defined culture. A large and
  95. varied community cannot.
  96.  
  97. NHC: rigorous validation suite to be approved for use on U.S. Department of
  98. NHC: Defense projects, and the requirement in the standard itself to reject
  99.  
  100. Even if one department of one country forbids the use of C, it would
  101. have little effect on the use of the language. One simply cannot place
  102. such requirements on a language which has survived in the
  103. marketplace.
  104.  
  105. NHC: certain forms of nonconformance at compile time, have led compiler
  106.  
  107. So does the C standard. 
  108.  
  109. NHC: writers to implement the standard strictly and consistently.
  110.  
  111. No. What has lead to consistency is the small number of users with
  112. homogeneous needs. 
  113.  
  114. NHC: To the extent that Ada compiler writers have sensed the need for
  115. NHC: extensions, these extensions have been in the form of "changeable parts"
  116. NHC: anticipated by the standard--implementation-defined attributes, pragmas,
  117. NHC: and packages.  Many of these implementation variations--for exmaple,
  118.  
  119. One can do that when the standard can anticipate the required
  120. attributes. Did the ADA standard anticipate the need to specify how to
  121. distribute an array over 1024 nodes of a machine? In a multithreaded
  122. environment, did they anticipate how to specify which thread runs on
  123. which node? Maybe they did, because the standard is recent, but have
  124. they anticipated the next machine architecture to come along?
  125. Doesn't matter: because people working on the state-of-the-art
  126. hardware are unlikely to use ADA for developing their projects: but
  127. they are very likely to use C.
  128.  
  129. NHC: vendor-specific packages for command-line argument retrieval--have now
  130. NHC: been replaced by standard versions in Ada 95.
  131.  
  132. Cheers
  133. Tanmoy
  134. --
  135. tanmoy@qcd.lanl.gov(128.165.23.46) DECNET: BETA::"tanmoy@lanl.gov"(1.218=1242)
  136. Tanmoy Bhattacharya O:T-8(MS B285)LANL,NM87545 H:#9,3000,Trinity Drive,NM87544
  137. Others see <gopher://yaleinfo.yale.edu:7700/00/Internet-People/internet-mail>,
  138. <http://alpha.acast.nova.edu/cgi-bin/inmgq.pl>or<ftp://csd4.csd.uwm.edu/pub/
  139. internetwork-mail-guide>. -- <http://nqcd.lanl.gov/people/tanmoy/tanmoy.html>
  140. fax: 1 (505) 665 3003   voice: 1 (505) 665 4733    [ Home: 1 (505) 662 5596 ]
  141.